package com.wenx.file;

import com.google.common.base.Charsets;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

/**
 * 1）文件可能很大，可能会超出内存空间，使用前要做评估。
 *
 * 2）要输出日志，记录为什么无法读取文件或者在阅读文件时遇到的任何错误。
 *
 * 3）在把字节转换成字符时，应该指定字符编码。
 *
 * 4）要处理文件不存在的情况。
 */
public class FileDemo {

    public static void main(String[] args) throws IOException {

        //将文件内容全部加载到内存，适合小文件
        Path path = Paths.get("F:\\学习文档\\jvm调优.txt");

        //按行读取输出
        List<String> lines = Files.readAllLines(path, Charsets.UTF_8);
        lines.forEach(System.out::println);
        //Stream<String> lines1 = Files.lines(path, Charsets.UTF_8);

        //获取所有字节转字符串
        byte[] bytes = Files.readAllBytes(path);
        String s = new String(bytes, Charsets.UTF_8);
        System.out.println(s);

    }

}
